export function Websocket(param) {
    var ws = null
    var globalCallback = null
    var that = this;

    function init(param) {
        if ("WebSocket" in window) {
            // 打开一个 web socket
            ws = new WebSocket(param);
            ws.onopen = function() {
                // Web Socket 已连接上，使用 send() 方法发送数据
                ws.send("发送数据");
            };
            ws.onmessage = function(evt) {
                that.websocketonmessage(evt.data)

            };
            ws.onclose = function() {
                // 关闭 websocket
            };
        } else {
            console.log("不支持window")
        }
    }
    init(param)
        // 消息处理
        // 实际调用的方法
        //传入一个方法，使原本一个变量等于这个方法，websocketonmessage方法调用原本这个变量
        //间接相当websocket调用传入的这个方法
    this.sendSock = (callback) => {
            globalCallback = callback

        }
        // 数据接收
    this.websocketonmessage = (e) => {
        globalCallback(e)
    }
    this.close = () => {
        ws.close();
    }
}